package com.zhm.demo.mysql.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.hthium.json.enums.YesOrNoEnum;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 设备表
 * </p>
 *
 * @author bell
 * @since 2024-01-29
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("iot_devices")
public class Devices extends BaseDomain {

    /**
     * 产品id
     */
    @TableField("server_id")
    private Long serverId;

    /**
     * 设备名称
     */
    @TableField("device_name")
    private String deviceName;

    /**
     * 设备密钥
     */
    @TableField("device_secret")
    private String deviceSecret;

    /**
     * 设备型号
     */
    @TableField("device_model")
    private String deviceModel;


    /**
     * IMEI
     */
    @TableField("imei")
    private String imei;

    /**
     * SIMID
     */
    @Deprecated
    @TableField("sim_id")
    private String simId;

    /**
     * SN编码
     */
    @TableField("sn_code")
    private String snCode;

    /**
     * PN编码
     */
    @TableField("pn_code")
    private String pnCode;

    /**
     * lat
     */
    @TableField("lat")
    private String lat;

    /**
     * lng
     */
    @TableField("lng")
    private String lng;

    /**
     * 时区
     */
    @TableField("timezone")
    private String timezone;

    /**
     * 是否激活 ：Y=是，N=否
     */
    @TableField("is_activated")
    private YesOrNoEnum isActivated;

    /**
     * iot协议id
     */
    @TableField("protocol_id")
    private Long protocolId;

    /**
     * 产品id
     */
    @TableField("product_id")
    private Long productId;

    /**
     * 产品密钥
     */
    @TableField("product_key")
    private String productKey;

    /**
     * 批次号
     */
    @TableField("batch_number")
    private String batchNumber;

    /**
     * 生产时间
     */
    @TableField("production_time")
    private Long productionTime;

    /**
     * 设备激活时间
     */
    @TableField("device_activated_time")
    private Long deviceActivatedTime;

    /**
     * 设备过期时间
     */
    @TableField("device_expiration_time")
    private Long deviceExpirationTime;


    /**
     * 电芯ID
     */
    @TableField("cell_id")
    private String cellId;

    /**
     * 硬件ID
     */
    @TableField("hardware_id")
    private String hardwareId;

    /**
     * 质保时间 单位：年
     */
    @TableField("warranty_period")
    private Long warrantyPeriod;

    /**
     * 硬件版本
     */
    @TableField("hardware_version")
    private String hardwareVersion;

    /**
     * 保修期满时间
     */
    @TableField("warranty_expiration_time")
    private Long warrantyExpirationTime;

    /**
     * 设备的位置
     */
    @TableField("device_address")
    private String deviceAddress;

    /**
     * ICCID
     */
    @TableField("icc_id")
    private String iccId;

    /***
     * dsp出厂设置
     */
    @TableField("init_dsp")
    private Integer initDsp;

    /***
     * init_2G模组 出场设置
     */
    @TableField("init_2g")
    private Integer init2G;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;
    /**
     * 启用状态
     */
    @TableField("enable")
    private Integer enable;
}